aboutsummaryrefslogtreecommitdiff
path: root/src/routes/tools/[tool]
diff options
context:
space:
mode:
authorFuwn <[email protected]>2026-05-24 13:22:34 +0000
committerFuwn <[email protected]>2026-05-24 13:22:34 +0000
commit56a7a7851b09cb30a5cd543c8cb4f926109b4290 (patch)
treea620f908405fa48fd601580c5a48432831ec5c33 /src/routes/tools/[tool]
parentfix(layout): preserve list panel when clicking action buttons in summary (diff)
downloaddue.moe-56a7a7851b09cb30a5cd543c8cb4f926109b4290.tar.xz
due.moe-56a7a7851b09cb30a5cd543c8cb4f926109b4290.zip
refactor(locale): move hardcoded UI strings into english locale
Adds optional namespaces (common, errors, commandPalette, headTitle, notifications, schedule, events, home, reader, routes, badgePreview, badgeWall) and extends existing ones (settings.*, lists.*, tools.*, user.*, hololive.*) on the Locale interface. New fields are optional so japanese.ts can omit them; svelte-i18n's fallbackLocale handles the runtime miss. HeadTitle gains an optional routeKey prop for type-safe lookup. defaultActions becomes a factory so the command palette re-reads locale on language toggle. The existing JP feedback translation in routes/settings is preserved via japanese.ts. Out of scope (kept hardcoded): service-worker.ts, app.html, Landing*.svelte, tools.ts registry, Easter Event 2025 pages.
Diffstat (limited to 'src/routes/tools/[tool]')
-rw-r--r--src/routes/tools/[tool]/+page.svelte7
1 files changed, 4 insertions, 3 deletions
diff --git a/src/routes/tools/[tool]/+page.svelte b/src/routes/tools/[tool]/+page.svelte
index ff764add..b74952a5 100644
--- a/src/routes/tools/[tool]/+page.svelte
+++ b/src/routes/tools/[tool]/+page.svelte
@@ -20,6 +20,7 @@ import Popup from "$lib/Layout/Popup.svelte";
import SequelCatcher from "$lib/Tools/SequelCatcher/Tool.svelte";
import Tracker from "$lib/Tools/Tracker/Tool.svelte";
import BirthdaysTemplate from "$lib/Tools/BirthdaysTemplate.svelte";
+import locale from "$stores/locale";
import type { PageData } from "./$types";
export let data: PageData;
@@ -38,15 +39,15 @@ $: if (tool === "girls") goto(root("/girls"));
<Picker bind:tool />
{#if !Object.keys(tools).includes(tool)}
- <HeadTitle route="Tools" path="/tools" />
+ <HeadTitle routeKey="tools" path="/tools" />
<Popup>
<p style="text-align: center;">
- Tool "<a href={root(`/tools/${tool}`)}>{tool}</a>" not found
+ {$locale().errors?.toolNotFoundPrefix}<a href={root(`/tools/${tool}`)}>{tool}</a>{$locale().errors?.toolNotFoundSuffix}
</p>
<blockquote style="margin: 0 0 0 1.5rem;">
- Did you mean "<a
+ {$locale().errors?.didYouMean} "<a
href={root(`/tools/${tools[suggestion].id}`)}
onclick={() => (tool = suggestion)}
style={suggestion === '...' ? 'pointer-events: none; color: inherit;' : ''}